'\" t
.\" Copyright 2005-2006 Christoph Lameter, Silicon Graphics, Inc.
.\"
.\" based on Andi Kleen's numactl manpage
.\"
.TH MIGRATEPAGES 8 "Jan 2005" "SGI" "Linux Administrator's Manual"
.SH NAME
migratepages \- Migrate the physical location a processes pages
.SH SYNOPSIS
.B migratepages
pid from-nodes to-nodes
.SH DESCRIPTION
.B migratepages
moves the physical location of a processes pages without any changes of the
virtual address space of the process. Moving the pages allows one to change
the distances of a process to its memory. Performance may be optimized by moving
a processes pages to the node where it is executing.

If multiple nodes are specified for from-nodes or to-nodes then
an attempt is made to preserve the relative location of
each page in each nodeset.

For example if we move from nodes 2-5 to 7,9,12-13 then the preferred mode of
operation is to move pages from 2->7, 3->9, 4->12 and 5->13. However, this
is only posssible if enough memory is available.
.TP
Valid node specifiers
.TS
tab(:);
l l. 
all:All nodes
number:Node number
number1{,number2}:Node number1 and Node number2
number1-number2:Nodes from number1 to number2
! nodes:Invert selection of the following specification.
.TE
.SH NOTES
Requires a NUMA policy aware kernel with support for page migration
(linux 2.6.16 and later).

migratepages will only move pages that are not shared with other
processes if called by a user without administrative priviledges (but
with the right to modify the process).

migratepages will move all pages if invoked from root (or a user with
administrative priviledges).

.SH FILES
.I /proc/<pid>/numa_maps
for information about the NUMA memory use of a process.
.SH COPYRIGHT
Copyright 2005-2006 Christoph Lameter, Silicon Graphics, Inc.
migratepages is under the GNU General Public License, v.2

.SH SEE ALSO
.I numactl(8)
,
.I set_mempolicy(2)
,
.I get_mempolicy(2)
,
.I mbind(2)
,
.I sched_setaffinity(2)
, 
.I sched_getaffinity(2)
,
.I proc(5)
, 
.I ftok(3)
,
.I shmat(2)
,
.I taskset(1)

